package com.astoolkit.workflow
{
	
	[Event(
        name="started",
        type="com.astoolkit.workflow.WorkflowEvent")]
	[Event(
        name="warning",
        type="com.astoolkit.workflow.WorkflowEvent")]
	[Event(
        name="fault",
        type="com.astoolkit.workflow.WorkflowEvent")]
	[Event(
        name="completed",
        type="com.astoolkit.workflow.WorkflowEvent")]
	[Event(
        name="progress",
        type="com.astoolkit.workflow.WorkflowEvent")]
	[Event(
        name="prepare",
        type="com.astoolkit.workflow.WorkflowEvent")]

	[Bindable]
	public interface IWorkflow extends IWorkflowTask
	{
		function get tasks() : Array;
		function set tasks( inUnits : Array ) : void;
		
		[ArrayElementType("com.astoolkit.workflow.Insert")]
		function set insert( inUnits : Array ) : void;
		
		function get declaredTasks() : Array;
		
		function get flow() : String;
		function set flow( inFlow : String ) : void;

		function get iterate() : Boolean;
		function set iterate( inIterate: Boolean ) : void;

	}
}